Deputies charged Lawrence Lavon Mouzzon, 53, of 5316 New Dixie Court in Youngsville, with one count of failing to store firearms to protect a minor.
The .25-caliber gun accidentally discharged while the boys were on the bus, according to Wake County Sheriff Donnie Harrison.
Tommy Gray, who said he is the father of the 14-year-old victim, Dustin Gray, said his son was shot in the upper leg.
Emergency crews took Dustin to Rex Hospital, according to the elder Gray, who was at the scene on Halifax Road near N.C. Highway 96 in Youngsville.
Rex officials said Dustin was in good condition. They released him from the hospital around noon Wednesday.
Eight students were on the bus at the time of the shooting, according to school officials. Zebulon Middle School sent automated calls to parents to let them know about the incident.
Wake County Public Schools has a zero-tolerance policy for weapons on campus, which includes school buses.
"Today was a scary situation, but one that worked out well and we're thankful for that," said Wake County schools spokesman Michael Evans.