It's quite simple: nosi indicates that she tends to wear it, it's her habit. Ma na sobie is a unique moment, now or in other temporal relation. Nosi can be sometimes used in this meaning as well, however ma na sobie is slightly more correct.
W lecie nosi się lekkie ubrania.
Kiedy przyjaźniłam się z Kasią, zawsze nosiła niebieskie buty.
Dziś mam na sobie nową sukienkę.
W sobotę będę miała na sobie glany - po tym mnie poznasz.