File corruption is always possible and can happen anywhere.
If the mp3 file is downloaded from a web server through TCP, which is what normally happens on "normal" web page downloads, TCP itself guarantees no data corruption in network transfer. TCP layer implementations are notably almost definitely bug-free, they are used and stress-tested so widely. This is the least likely place for corruption to happen.
Peer-to-peer software may use TCP or UDP, and definitely most of them implement some checksumming of transfers, but such programs are at higher risk to contain bugs.
AFAIK, MP3 file format itself does not contain CRC or error correction, but I might be wrong.
Filesystems are usually fairly robust, but who knows, anything can happen.
Buggy software is still #1 contributor to problems.
I have personally seen a Windows filesystem corrupt a bunch of mp3s so that one particular mp3 played a very interesting collection of clips from other songs. The result was artistically so interesting it didn't bother me. Or I don't know, maybe it wasn't the filesystem, maybe it was some piece of buggy userland software gone berserk, modifying random files.