OK, so you have to modify some part of your code like so:
$list=" ";
while ( have_posts() ) {
the_post();
$terms = get_the_terms( $post->ID, 'port_tags' );
$terms_string = '';
if ( $terms ) {
foreach ( $terms as $term )
$terms_string .= $term->slug . ' ';
}
$list .= '<li class="mix all '. $terms_string .'">'
. '<div class="listing-content">'
. '<h3><a href="' . get_permalink() . '">' . get_the_title() . '</a></h3>'
.'<p>' . get_the_excerpt() . '</p>'
. '<a href="' . get_permalink() . '">' . 'View »' . '</a>'
. '</div>'
. '<a class="listing-thumb" href="' . get_permalink() . '">' . get_the_post_thumbnail($page->ID, 'listing-thumb') . '<span></span></a>'
. '</article>'; // <- it should be </li> not </article>, I guess - you don't open any <article> tag in this loop
}