You need to determine if there is a problem with the particular
file, with the directories in which the file resides, or something
I would open a terminal, cd to the directory in which the problem
file resides, try to create a temporary test file in that directory
(eg, > test). If you can't create the test file, you have a parent
directory or filesystem problem or something else. It's fine
to have no contents in file test. If you can create test, just
as a sanity test, make it executable (chmod +x test) and then
run ./test while you are still in that directory. What happens?
If test runs fine, then there's most likely something wrong with the file permissions
on your problem file. run ls -l to see what they are.
If test does not run (I don't how that would happen if you could create
it...), then check the permissions of all the parent directories back to
and including / using ls -dl. All directories should have execute
I think theoretically you could have the filesystem mounted non-executable,
or maybe there's some extended attribute in use on the problem file, but
I can't think of anything else.
Try the suggestions and post your results if you don't get the problem fixed.