The boy was taken to Cooper University Hospital, where he was listed in critical condition after undergoing surgery.
Police say they found Garcia hiding in a neighbor's home. He's charged with attempted homicide, weapons offenses, endangering the welfare of a child and hindering apprehension.
He's being held at the Camden County Jail in default of $1 million bail. Police did not know if he had retained a lawyer.