「a pretty city」のaは、「pretty」という形容詞を伴う可算名詞「city」の前に必要だからです。
英語では、可算名詞(一つ数えられるもの)の前には、必ず冠詞(a/an/the)が必要です。「city」は一つのボストンの街を指しているので、可算名詞扱いです。「pretty」という形容詞がついていても、その基本的なルールは変わりません。
発音の観点からは、「pretty」は子音で始まるので「a」を使います。もし「elegant city」なら同じく「an elegant city」ですが、「elegant」が母音で始まるので「an」になるわけです。
つまり、形容詞があるかないか関係なく「city」という可算名詞が単数で出てくれば、その前に冠詞が必要だということです。「a city」「a pretty city」「a very pretty city」というように、形容詞が増えても冠詞は可算名詞の直前に一つあれば十分です。
この冠詞のルールは英語の基本中の基本なので、長文を読むときも作文をするときも、常に意識しておくことが大事ですよ。