Also dem Sinn nach gibt es keinen Unterschied. "Hay que" heißt so viel wie "hat zu" und "tener que" soviel wie "müssen".
Beispiel: Ich kann sagen: "Ich habe zu gehorchen" das wäre dann "hay que". Ganzer Satz: "He de obedecer". Oder ich sage "Ich muß gehorchen" da würde man dann "tener que" benutzen. Ganzer Satz: "Tengo que obedecer". Dem Sinn nach bedeuten beide Sätze so ziehmlich das gleiche, wie im deutschen halt auch.