Banks are not required to cash checks period regardless of what bank the check is drawn from, the crux of the matter is that your son needs to have a bank account at a bank, any bank, with enough money to cover the check.
You can even be denied cashing a check in your own bank, with a check drawn off of the same bank. IE you have an account there and the check is drawn off of the same bank. It just depends on the circumstances.
The check is payable on demand during business hours. Otherwise the check's no damn good. That the fed banking rules.