Caliber is measured in inches, converting your 12mm to inches gives us .472. A .50 caliber muzzleloader fires a .490 ball or so, so depending on the accuracy of your measurement it is definitely in the ball park for a .50 caliber. .50 caliber is too small to be a musket, but is a very popular rifle caliber so quite likely a rifle ball. As far as age, .50 is probably the most popular muzzleloader caliber today, but was also common in antique guns. The white patina as stated would indicate an older rifle ball, you can also check for a sprue which is a flat spot where the excess metal was cut off after it was removed from the mould. Some of the modern balls were swaged, or pressed so do not show a sprue mark.