I have a node.js script which need to start at boot and run under the www-data user. During development I always started the script with:
su www-dat
You might also have made it work by specifying the full path to node. Furthermore, when you want to run a shell command as a daemon you should close stdin by adding 1<&- before the &.