Another possiblity would be that the file is invisible. Files which names start with a dot (".example", for example) would not be listed by ls as long as you do not specify the "-a" option. (Except for root: ls is always implying -a for root.) The same is true for directories.