Depending on the location of the missing piece, you might be able to do it yourself if it's along the edges. I had this problem earlier this spring, had been calling roofing companies around but none was willing to come for such a small job, or they all asked for about $300 per visit! I found a handyman in the end that solved my problem and cost me $100, QQH me if you need his contact.
Yes, the "handyman" called Max at http://www.usedottawa.com/classified-ad/4546137
did a good job.
Max came to repair the two missing shingles, and fix a drain pipe on the roof, and just charged me $150.
Thanks to marklin for the info.
He came. But for only a shingle (he said he needed to repair 3, including the two pieces beside it), he asked for $380. So expensive. I don't know what to do.