The question "What could have caused all this?" is completely correct. It's correct because it doesn't contain any errors; if someone tells you that it's incorrect, ask them what they think the error is. The question "What could possibly cause all this?" is also completely correct.
However, the two sentences have slightly different meanings.
The question "What could have caused all this?" is asking what could have been the actual cause of the one, individual, actual event which actually occurred. The fact that "have caused" is in the perfect infinitive indicates that the question is asking about the past—specifically, about that past event.
On the other hand, the question "What could possibly cause all this?" is asking what sort of force could cause an event similar to the event which occurred. The fact that "cause" is in the plain infinitive indicates that the question is not asking about a particular event in the past.
The word "possibly" places additional emphasis on the fact that the event which occurred is seemingly impossible.