I don't see why "He has to own a dog" is wrong :(
"own" more precisely translates in "possède"
Then why is "needs to own" correct?
"He should have a dog" is the better answer, doesn't it?
He should have a dog = Il devrait avoir un chien