Changing the post date without causing 404 error

You’ll need to add 301 redirects for the old URL to the new one. Your best bet is to do this via .htaccess, in your theme, or using a plugin like one of these:

Edit: Another option

OPtion 2 would be to disregard the date in the URI altogether. You could unset them from the request like so (add to your functions.php file):

function wpse_100936_request( $qv ) {
    if ( isset( $qv['name'], $qv['year'], $qv['monthnum'], $qv['day'] ) ) {
        unset( $qv['year'], $qv['monthnum'], $qv['day'] );
    }
    return $qv;
}
add_action( 'request', 'wpse_100936_request' );

Then the date can change and not cause 404s. A post can now be accessed at any date, e.g. /2013/05/28/some-post/ and /1776/07/04/some-post/. SEO experts might warn you of “duplicate content”, but the canonical meta tag will always point to the correct date, so that shouldn’t be an issue. The only potential issue I can foresee is that, if someone linked to the post at the old date, they won’t get redirected; whether that’s important or not is up to you.