This can be solved with the SRFI-41 Streams library. It's available in many implementations including Racket. Racket also has it's own stream library with many similar procedures/syntax. SRFI-41 is available from both #!Racket and #!R6RS.
;(import (rnrs) (srfi :41)) ; For #!R6RS language
(require srfi/41) ; For #!Racket language
(define-stream (filter-out-multipliers n v stream)
(let ((a (stream-car stream)))
(cond ((< a n) (stream-cons a (filter-out-multipliers n v (stream-cdr stream))))
(else (filter-out-multipliers (+ n v) v (if (= a n) (stream-cdr stream) stream))))))
(define-stream (primes stream)
(let ((a (stream-car stream)))
(stream-cons a (primes (filter-out-multipliers (+ a a) a (stream-cdr stream))))))
(stream->list (stream-take 20 (primes (stream-from 2))))
; ==> (2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71)