L’expression avoir la tête dans les nuages est très fréquente dans l’usage canadien, mais n’est pas attestée

Il s’agit d’un calque de l’anglais to have one’s head in the clouds.

Selon le contexte, on dit plutôt :

Ces expressions signifient « être rêveur, distrait, étourdi, avoir l’esprit ailleurs, perdre le sens des réalités, vivre dans un autre monde ».