Does the microcontroller need to support a given filesystem in USB Mass Storage Class scenario?
MSD is a block device emulation. The host OS (PC) requests raw blocks of data. It is the OS that then places a filesystem over those blocks.

That is why you can format a flash drive to NTFS, FAT32, ext3, etc, and even partition it up.