Según la documentación
http://docs.python.org/2/library/os.html#os.listdir
Changed in version 2.3: On Windows NT/2k/XP and Unix, if path is a Unicode object, the result will be a list of Unicode objects. Undecodable filenames will still be returned as string objects.
En pocas palabras asegúrate que tu variable path sea de tipo unicode. Osea cuando uses tu función: