There are a number of reasons.
1 - You say you are working hard, but are you working smart? Are your mechanics efficient? You need to post video and compare what your son does to what the best in the business do. This does not mean copy to the letter how they throw the ball but you can use it as a bench mark because most hard throwers do a lot of the same things (there are subtleties that cannot be seen with the naked eye that can have a huge effect on how hard someone throws as compared to someone else - in other words…just because you look the same as the “pro” doesn’t necessarily mean you will have the same results).
2 - Are you doing the same things over and over expecting different results? That’s the definition of insanity you know… You can’t keep doing the same workout month after month year after year and not see results. You will have to experiment and try other things. Finding out how to throw hard is very much a long trial and error process. All coaching and everything we do here in this forum is to try and shorten this trial and error process.
3 - Maybe your son is a late bloomer. If so he may not see anything velocity wise until he is in his late teens or early twenties (as UndersizedRHP pointed out).
There are other reasons but to get to your original question… IMO I think yes. Most hard throwers (anyone who is in the low 90’s or above) are genetically gifted to be able to throw the way they do. Especially the super elite 100+mph throwers.
Now this doesn’t mean that you just give up. Quite the contrary. To get to 90mph you need to not only work hard, but smart. Leaving no stone unturned. I am of the opinion that almost everyone could throw at LEAST 85mph if not near 90. Especially a kid who is 6’ or above.
For some getting there is easier than others. But I think if you work hard enough, smart enough, eventually when the body is mature - you will reach your goal.