Puedes usar el método IndexFromPoint para averiguar si donde has pulsado hay un elemento y en caso negativo, deseleccionar todos los elementos utilizando el método   ClearSelected. Luego le añades el evento MouseClick al ListBox y desde ahí obtienes donde ha pulsado con el ratón y actuas en consecuencia
    
Código VB:
Ver originalPrivate Sub ListBox1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseClick
   
  Dim index As Integer
   ListBox list = CType(sender,ListBox); 
   If (e.Button = Windows.Forms.MouseButtons.Left) Then
     index  = list.IndexFromPoint (e.Location)
     If (index = ListBox.NoMatches) Then
      list.ClearSelected();
     End If
    End If
End Sub