Node.js is a cross-platform runtime environment for server-side and networking applications. Node.js applications are written in JavaScript, and can be run within the Node.js runtime on OS X, Microsoft Windows and Linux with no changes.
Now coming to the difference between APACHE and Node.js, node.js is event driven which has webserver built in and in this type of webserver (if we dont use apache) all code runs on server side only where as with apache some code runs on server side and some on client side (javascript code).