Query all posts which do not have tags assigned to them

Either use the tag_not_in parameter if you have the tag id and if not then you can use tax_query parameter like so:

$tag_to_exclude="example_tag";
$args = array(
'posts_per_page' => -1,
'tax_query' => array(
        array(
            'taxonomy' => 'post_tag',
            'field' => 'slug',
            'terms' => array($tag_to_exclude),
            'operator' => 'NOT IN',
        )
);
query_posts($args);