I was also going to say have is vision checked just to rule it out. (Which I see you are doing). Depending on the speed of the pitches he is see in the cage, it may be why he is hitting better there. Slower pitches will give more time for his eyes to pick up the ball, focus on it, and make better contact. I have seen this with a middle school level player. Cage great, games not so good. Had his eyes checked, got contacts, now hitting at game the same as he does in the cage.