Why he's the killer: It's always the one you least expect! Though Caitlin and Nolan are a happy couple to everyone in public, the reality is that she's actually seeing Jeremy. The only reason Caitlin and Jeremy haven't gone public is because Nolan knows about her mother's affair. Maybe Jeremy takes drastic measures to ensure that Caitlin's family and her relationship with him stay intact.
Why he's not the killer: The only thing we really know about Jeremy is that he's Caitlin's British boyfriend (and he looks good shirtless). It's pretty hard to form a convincing alibi simply based on that.