God does not save everyone because it is not His will to save everyone. If God so desires, He certainly has the ability to cause everyone to be born-again. After all, He causes people to be born-again (1 Peter 1:3, NASB); and He can move the heart of the King where He wishes it to go (Proverbs 21:1). If He can do this, why does He not move the hearts of all people, so they get saved? After all, doesn't the Bible tell us that God does not want any to perish (2 Pet. 3:9)?
Though this is a difficult theological topic and it is worth a lot more discussion, the quick and easy answer is that God has not designed the course of history so that all people will be saved. But don't be confused. God is not arbitrary. He is infinite, and His ways are not ours. He has reasons for doing what He does.
Few Christians know that God can desire one thing and bring about another--and no, this is not a contradiction. Consider how God desires all people to be saved (1 Tim. 2:3-4), yet Jesus spoke in parables so that people would not repent and be forgiven (Mark 4:10-12). Also, God has mercy on whom He desires, and He hardens whom He desires (Romans 9:18). As a judge may desire to set a person free, the law requires he execute judgment. God can lovingly desire all to be saved, but He must also execute righteous judgement on them, and all who have not trusted in Christ will be lost.
Finally, though theologians have sought to delve into the mind of God by trying to answer this difficult question, God answers it for us.
"What if God, although willing to demonstrate His wrath and to make His power known, endured with much patience vessels of wrath prepared for destruction? 23 And He did so in order that He might make known the riches of His glory upon vessels of mercy, which He prepared beforehand for glory, 24 even us, whom He also called, not from among Jews only, but also from among Gentiles," (Rom. 9:22-24).