This is one of those questions where laying out some definitions would be helpful.
For example, if by Atheist you mean the sort of atheist that belittles Christ, mocks Christians and Christianity, and likes to troll Christian websites looking to cause trouble, Then no, I don't think a Christian can have that sort of person as a best friend. In all honesty, I don't know how even non-Christians can have people like that as best friends. There's just way too much unresolved anger there.
Now, if by atheist you simply mean someone who doesn't believe in God, then I don't really see a problem with being best friends with that sort of person. As long as they're comfortable with you walking with God, then you should be fine.
When you boil it all down to the root elements, we as Christians are called to do just a few simple things. We're to love God, to love people, to lead people to Him, and to make people like Him. In this process, if we're genuinely out there loving our neighbors as ourselves, we are bound to make friends with people who don't believe in God. Christ didn't say "love your neighbor as yourself, so long as they're good people who believe in me". He preached that we love everyone, awful God-ignorant sinners included.
Look at the people Jesus loved to spend time with. Sinners and tax collectors. Quick history lesson: sinners and tax collectors were the lowest of the low in those days. In the Roman empire, it took piles of cash to keep spreading out, and paying these soldiers to take over towns. When a town was taken over, it wasn't pretty. They would come in, erect a statue to Caesar in the middle of town, and then for days, erect tens of thousands of crosses and other torture devices, and they would slowly and painfully kill everyone who had any opposition to Rome. Tax collectors were members of communities who paid a fee for a permit to collect taxes. Essentially, a tax collector actually paid money to be associated with the army that killed thousands of your people and to collect funds allowing them to keep doing it to others. "Sinner" wasn't a light term as it is today. Being called a sinner meant you were labeled for life. You would never be seen as equal to the average person. If you got this label, your family would disown you. Some would even go as far as to mutilate their "sinner" family member, and they did it as a favor! They saw it as their last good deed for them, because as they were now crippled they could more effectively beg for alms. These people really were less than nothing.
And yet, wherever Christ went, these were the people he hung out with. And it rubbed off on them. More sinners and tax collectors came to Christ in his day than any of the "righteous" who were always looking down at the Lord.
Now, if you are friends with people who aren't Jesus followers, ask yourself: is your "Jesus" rubbing off on them? In most cases, it probably should be. If you've been friends with an atheist for years, and he's no closer to Christ than when you first met him, either 1-He's still not personally ready for Christ, which is fine, or 2-You need to look at how closely you're walking with Him. If you're walking closely with Christ, he should shine through you in such a way that those around you can't help but see him. If they're not seeing the Jesus in you, you need to get a spiritual checkup.
I will say one more thing in closing. If you have atheist friends, and their lack of faith has affected you more than your faith has affected them, RUN. Being a witness to those around you is one thing. But compromising your faith for others is absolutely wrong, plain and simple.