When rigidbody objects are moving very quickly, they can tunnel through surfaces because checks to resolve their intersections are made without consideration as to the path they have taken.
Setting a rigidbody's Collision Detection mode to Continuous, or Continuous Dynamic. This will come with a performance overhead.
This performs a sweep to determine whether the path the body has taken is interrupted.
