well when i was a 12 year old dad gave me his 16 gauge its a good gun. But for your boy i advise a remington 870
20 gauge good for deer up close mild recoil easy to find ammo but if he can take a 12 gauge by all means get him one.
If money isn't too tight, consider a Beretta 3901 Youth. its a gas auto, 20gauge, doesn't kick. Plus the stock can be shortened, or buy another one that fits him now, save the other one for when he grows.
My first shotgun, which coincidentally was at age 12 was a Remington Model 1100 in 20 gauge, it was a perfect size and weight for me. My dad had the 12 gauge version and we would both skeet shoot and upland bird hunt with them.