The correct expression is '9-year-old son' or 'nine-year-old son'.
Note the hyphens.
Why? Here's the rule:
When you make a compound adjective or a compound noun involving a number and a measure word ( a unit of time, money, or distance, for example), the measure word is in the SINGULAR.
Here's a little exercise to practise this rule.
What do you call..
1. A son who is nine years old ---> a nine-year-old son
2. A bill which has a value of five dollars?
3. A run which is five miles long?
4. A tent which sleeps five people?
I'll look forward to getting your answers.