Summarising: you are most likely using a relative path. roslaunch changes the working directory of your node before starting it, so that's why it can't find the file.