The correct sentence is "Can I smoke here?", but I wonder why I can't use "could" in this question.
Actually I think it's more what is idiomatic than what is grammatical. There is nothing wrong with, "Could I smoke here?" but it doesn't mean the same thing as, "Can I smoke here?"
"Could", in this context, is often a conditional. It implies you're asking if it's possible to do something, if some other condition is met. For example:
I know you don't like people smoking in your car, but it's been hours since my last cigarette. If I rolled down the window, could I smoke?
(Edit) as FumbleFingers points out, the actual conditional requirement can be unstated, or even something as basic as "... if I want to". "Could" merely implies that there is some conditional involved.
(Edit2) Muzer and others point out that could is often used as a slightly more deferential way to say can, in which case, "Could I smoke?" is perfectly natural. "May I smoke?" may be more common, though.