"I didn't know she had a son" is better. This is for agreement with "didn't know", and is nothing to do with how old the son is. A son is still a son at any age.
New words, one handy idiom, and a 2-minute quiz — delivered to your inbox to keep your streak alive.
Farooq AbbasiWill i be understood perfectly with 'has'?Yes, it is perfectly intelligible with "has".