I'm afraid I can't answer this without knowing the web page. I'm assuming you have used xpath/selenium on similar pages that worked just fine?
I've got a couple of ideas for you -
1) My guess is the page just isn't fully loaded when the xpath is executed. Trying injecting a wait - 30 seconds - before the selector.
2) Get selenium IDE, try to write the same test. Don't use the generated code; just look at the xpath and compare it to what you have.
Good luck!