Query get post,how to add comment box

First of all, welcome to WPSE!

By default, the comment box does not come with the post object, what you are looking for is the comments_template function.

It should be as simple as changing your code to this:

<?php 
$post_id = 104; 
$queried_post = get_post($post_id); 
$content = $queried_post->post_content; 
$content = apply_filters('the_content', $content); 
$content = str_replace(']]>', ']]&gt;', $content); 
echo $content;
comments_template();
?>

But if I’m correct this would only work for the current post in the loop.

Looking at the function in wp-includes/comment-template.php, it uses global $post and global $wp_query variables. You would need to modify that value in order for the comments template to show up for the post you are displaying.

You could modify that using query_posts instead of get_post, but be sure to reset the query afterwards:

$post_id = 104; 
query_posts( array( 'p' => $post_id ) ); 

while( have_posts() ) : the_post();

    $content = apply_filters( 'the_content', get_the_content() ); 
    $content = str_replace( ']]>', ']]&gt;', $content ); 
    echo $content;

    comments_template();

endwhile;

wp_reset_postdata(); // Don't forget!

I haven’t tested this but it should work. I would also suggest reading this awesome answer by Rarst about when to use what function to “get posts”. 🙂