How can't a malicious attacker generate bitcoins on his private network? I'm new to the cryptocurrencies world and I'm trying to understand how all this stuff works, so expect a really noob question. 

Suppose there's a user which generates a number of addresses and sets up his private blockchain. One of this address will start illegal transactions moving money that doesn't really exist. Since the other nodes of the network are controlled by him, the transaction will be validated. Now this address is moved from his private blockchain to a public pool.

How does the blockchain knows/prevents the malicious node from spending money that are not really there?

Thank you!
The blockchain will only accept blocks which are based on previously accepted blocks and have a hash value that satisfies the current difficulty requirements. A malicious attacker is in the same position as any other miner, so any block that he mines must satisfy the same conditions regarding validity. In fact, the bitcoin protocol is designed to be trustless, which means that even miners with malicious intentions are not able to destroy its integrity unless they manage to control a majority of the mining power.