Rigidbody necessary to use collision detection

Does an object have to have a Rigidbody component in order to use collision detection?

This is a question that can be easily answered by looking at the documentation.

Collider combinations
There are numerous different combinations of collisions that can happen in Unity. Each game is unique, and different combinations may work better for different types of games. If you’re using physics in your game, it will be very helpful to understand the different basic Collider types, their common uses, and how they interact with other types of objects.

Static Collider
These are GameObjects that do not have a Rigidbody attached, but do have a Collider attached. These objects should remain still, or move very little. These work great for your environment geometry. They will not move if a Rigidbody collides with them.

Rigidbody Collider
These GameObjects contain both a Rigidbody and a Collider. They are completely affected by the physics engine through scripted forces and collisions. They might collide with a GameObject that only contains a Collider. These will likely be your primary type of Collider in games that use physics.

http://unity3d.com/support/documentation/Components/class-MeshCollider.html

Also, if your game object is moving but you simply don’t want a rigidbody attached to it, it makes more sense to add a collider to the game object without a rigidbody, and just check is Trigger and use the OnTrigger event system instead.