Using the WordPress example site that Erick linked to, this is how I ended up getting Masonry and Infinite Scroll to work together.
// Code inside here fires when the DOM is ready
jQuery(window).load(function(){
jQuery('#content').masonry({
itemSelector : '.post',
columnWidth : 250
});
});
// Handle new items appended by infinite scroll
jQuery(document).on('post-load', function() {
setInterval( function() {
jQuery( '#content' ).masonry( 'reload' );
}, 300 );
});