In a simple answer, yes, Christians can have demons and at times need to have them cast out. There is no real Biblical bases to claim that Christians cannot have demons.
Actually, the Bible shows us clearly that deliverance is geared towards God's children. Jesus actually referred to it as children's bread, and said it was not fit to cast before dogs.
What is the purpose of casting out demons? If Christians couldn't have demons, then somehow they would have to automatically shed them the moment they accept Jesus. Now if that were the case, what would be the point in casting out demons out of anybody? Why not just get the people saved, and all the demons go away on their own? Or are we no longer supposed to cast out demons nowadays? But why did Jesus clearly state that them who believe (Christians) will be casting out demons (Mark 16:17)? Notice that this was presented after Jesus died and rose again, clearly indicating that the casting out of demons still applies to us today and not just in Jesus' day.
Why deliverance is not meant for unbelievers in general: Demons return when they are cast out of unbelievers: Jesus clearly warned us that if we cast demons out of unbelievers, they are bound to return, each spirit bringing 7 even worse spirits with it (Matthew 12:43-45).
Unbelievers aren't prepared to receive deliverance: Colossians 2:13-15 shows us how Jesus forgave our sins, and thereby disarmed the demonic spirits in our lives. In the life of a non-believer, there is no disarming of the demons, because there is no forgiveness of sins.
Deliverance is for those who are in covenant with God: In Matthew 15:26, Jesus tells a non-Jewish woman who was seeking deliverance for her daughter, "It is not meet to take the children's bread, and to cast it to dogs." Obviously the context of this verse tells us that He wasn't speaking of physical children, but spiritual children. I also believe Jesus made it clear in this verse that it is not fit to cast deliverance before those who are outside covenant with God.
In other words, deliverance is simply not meant for non-believers. It's dangerous both spiritually and physically (violent manifestations), and it sets the person up for a much worse bondage if they don't quickly turn to Jesus. So if deliverance isn't geared towards unbelievers, then whom is it geared towards? Whom are we to be casting demons out of then?
Christians have demons cast out of them all the time: I'm not trying to write doctrine from experience, but on the other hand, experience must be explained somehow. When you see one sincere Christian after the next have demons cast out of them, it's hard to ignore what you are seeing. What is going on? They clearly manifested demons (I myself manifested demons in a way that could NEVER be duplicated at will!), so were they not really believers? If you could meet the people I've met who have gone through deliverances or needed deliverance, you would NEVER question the fact that they are genuine about their faith! Many times, they can put even the strongest believers you know to shame in their love for the Lord! Some of them would give everything they own in a heartbeat to be free to serve the Lord without demons hanging onto them!
I've seen the lives of sincere Christians changed so drastically that it's a day and night difference before and after their deliverance! I can't begin to tell you what it's like to have demons then be freed from them... it's one of the greatest blessings that is rightfully ours in Christ Jesus! I am not only speaking from my own personal experience, but the experiences of many other Christians who have had demons cast out of them. It's like healing, even though it was paid for on the cross, it's not automatically manifested the moment we say 'I do' to Jesus. Sometimes we need to use the authority Jesus gave us to take advantage of the freedom that He bought for us. As Psalms 44:5 tells us, "Through thee will we push down our enemies: through thy name will we tread them under that rise up against us."