It sounds like your son had surgery for an injury called osteochondritis dissecans, where blood flow to the tip of a bone is blocked, causing bone cells to die. When this happens, the dead part can break away and become loose in the joint.
Osteochondritis dissecans can be an overuse injury and doctors are beginning to see it more often in some types of childhood athletes. No-one knows exactly why it happens, but with proper treatment, usually the athlete is able to return to his or her previous level activity in their particular sport.