Translation:El hombre tiene la capacidad de hablar.
I didn't know the answer so I looked it up and you asked a great question. Here are the rules for Capacidad de v para.
Because the man has the ability OF speech, it is phrased "capacidad de".
"Capacidad para" is used for aptitude, the intellectual capacity or talent to complete a function or hold office: "tiene capacidad para las matemáticas".
So it is the difference between being able to do something at all versus meeting conditions.
Hope this helps.
It is simply conventional to speak the sentence in that way in Spanish. Otherwise it will sound strange to the native speaker.
Why do we need "de"? How can we know when the infinitive is enough and when not?
The preposition that is used determines the meaning, Right? I have to look it up in situations like this one. Maybe not the answer you wanted, but I do a lot of investigating and it must take seeing it over and over again. Please read what jindr004 said.
I also believe we need de to indicate that an action (verb) follows. I do not want to get to grammarian here but as I understand it in this sentence - capacity 'to do something' is indicated by 'de' to speak.