As duas formas por nada e de nada estão corretas, contudo seus significados nem sempre são os mesmos.

Ou seja, ambas as locuções são válidas, devendo, no entanto, ser usadas conforme o contexto.

Por nada é sempre equivalente a de nada como expressão de cortesia ou como resposta a agradecimentos do tipo “obrigado” ou “obrigada”. Notar que “de nada” pode ter outro sentido (ver abaixo).

Por nada! E obrigado por suas palavras!
Obrigado. – Por nada.

De nada, é sempre um prazer ajudar.
Obrigada, Don António. – De nada.

A locução de nada, como já indicado, é similar a dizer “por nada” mas pode ter outro significado, nomeadamente o sentido de sem importância, insignificante, diminuto, reduzido.

Só corrigi umas coisinhas de nada.
Não magoa, é um cortezinho de nada.