Could be a broken catch(latch) or catch spring, possibly even the trigger guard since that's where the spring nests, does the barrel release button feel normal or weak? Could also just be a build up of gunk on the parts including the bottom of the barrel and frame that's keeping the barrel from locking up all the way, check the barrel and breech face too, clean it good and see if that helps. A good spray of a dry lube cleaner like Hornady One Shot might not hurt, even WD40 would work, just be sure to clean in off the barrel catch and the locking ledge on the barrel after doing this tho.
Tim