Possession of any amount of marijuana is not legal if you are under 21 years of age. In addition to facing a mandatory day in jail plus a $250 fine and court costs, he will lose his driver's license for at least 90 days. Further, he will be ineligible for any federally funded student loans.
Your son needs to be represented by an experienced criminal defense attorney who can explore all potential defenses and try and avoid these mandatory consequences.
I agree with the other answer, but wish to add a little. Your son needs an attorney. He may be eligible for a public defender, but I would suggest taking a little time and helping him with the cost of a private attorney if he can't afford one. Even though a lot of public defenders are really good, they are often overworked, and you need someone for this who can take a little time on the matter. It may be possible to challenge the stop or the search or even whether the substance was in fact marijuana.
Under the law, there is a zero tolerance for minors in possession of marijuana. There are some very good legal challenges right now in regards to possession of marijuana charges. As the law exists right now, it may be impossible for the prosecutor to actually prove a possession of marijuana charge due to problems with the evidence technicians being able to test for active THC. The legislature is currently working to fix this problem with the law and will likely relax the testing requirement for the testing of marijuana.
I would definitely hire an attorney who is experienced with these issues.