As Lakey says, these guns have a very basic mechanism, so very rarely give problems. However, due to their age, and often many owners over the years, they often have been tampered with.
One other thing I would suggest is to back out (anti-clockwise) the trigger adjusting screw in the trigger guard if fitted. If this has been screwed right in it can result in the gun not "holding".
There is a sectional drawing which gives some idea of what is inside (although slightly different to yours as the trigger spring in the diagram is different, the piston and trigger relationship and construction themselves are very similar to yours ) elsewhere on this website;
Other potential faults could be;
1...Incorrect main spring wire gauge causing spring to become "coil-bound" before the piston rod engages.
2...Damaged ("opened up")or replacement secondary cocking arm (the piece that connects the main lever to the piston), giving insufficient piston travel.
3...Washers added behind spring,
4...Spring guide missing (tube that fits into trigger block),
5...Piston rod itself has been damaged / repaired with incorrect profile.
6...Mainspring broken (may not be obvious).
7...Trigger upper part damaged/broken.
If Lakey's suggestion about the trigger, and the trigger adjustment screw idea of mine do not help, then you should look inside. this is a simple job anyone can do,these guns come apart in a few moments, and any problem inside will be obvious (or perhaps you could put up photos).
Please be careful with the screws, and use a parallel ground, well fitting screwdriver blade, this is the only real precaution to take as original screws are quite hard in temper, and can be damaged.
What follows is the way BSA themselves used to put in their old booklets, and prevents damage from vise marks etc! (in fact if you read through this link, it will be described in "old fashioned" proper English);
Remove the trigger guard, and with the trigger pulled back slightly to clear the cut out in the cylinder, stand the gun vertically, muzzle down on a piece of carpet or similar to protect the end of the muzzle.
Standing up, rotate the stock and back block as one unit anti clockwise, this should unscrew...as the block is nearly out, keep some pressure on the back as the main spring will be pushing against the trigger block from the other side (not much, easy to control).
Remove pivot screw(s) that connect the main cocking lever to the secondary lever, and use the shorter now free lever to push the piston back a bit, remove the shorter lever from the gun, and you can use this to "hook out" the piston if free.
To check cocking function of a dis-assembled gun, push the piston hard into the trigger block, and it should click as the trigger catches it, release by pulling the trigger.
(this assumes trigger spring is present, if not apply pressure on trigger from behind to simulate spring).
Any damage to the end of the piston rod, or the trigger will be obvious, but again, if unsure please put up some photos for more help.