Don't blame yourself for your son's situation; he has made his own decisions in life, and he alone is responsible for them. The Bible says, "The wickedness of the wicked will be charged against him (and not someone else)" (Ezekiel 18:20). Don't carry a burden of guilt that you don't deserve to carry.
That doesn't mean you were a perfect parent, of course; none of us are. But seek God's forgiveness where you failed and then accept his forgiveness and commit your future to Him. If you need to seek your son's forgiveness for anything you did, do that too but again, don't blame yourself for his wrongs.
The most important thing you can do is to keep on praying. You can't change your son's heart but God can. From time to time, I get letters from people who have prayed for a loved one for many, many years and eventually their prayers were answered. The Bible says, "The prayer of a righteous man (or woman) is powerful and effective" (James 5:16).
Then do whatever you can to keep contact with your son. Don't just lecture him or give him advice; let him know you love him and care what happens to him. In addition, encourage him to turn his life over to Christ. This, after all, is his greatest need and also his greatest hope. Christ is your hope, as well. Is He the center of your life?