As with most issues involving English spelling, there is no right or wrong here, only preferences that vary substantially by region, by publisher, and by writer, so much so that is easy, maybe even trivial, to find living counterexamples of any posited general rule here.
But in general, British publishers tend to be more tolerant of the hyphen than American publishers tend to be. Many American publishers forbid the hyphen except when the word following is capitalized, as in anti-American or anti-Semite, or when you would form two vowels in collision, as in anti-immigration. (You never seem to see antiïmmigration, though; it almost looks like someone has smudged the page in this font.)
Otherwise American publishers tend to prefer versions like nonnative, nonnaturalized, nonzero, antilogarithm, antiperiodic, antisocial, antitrust. However, with individual writers not forced to conform to any particular style guide, usage varies.
General is the opposite of specific, whereas generic refers to something which has no unique features.
To use the book example, a general geography book would be one without a particular focus on one area, while a generic geography book would be the same as every other book out there.
Sometimes they can be used interchangeably, but not always.
General
adjective
- of or pertaining to all persons or things belonging to a group or category: a general meeting of the employees.
- of, pertaining to, or true of such persons or things in the main, with possible exceptions; common to most; prevalent; usual: the
general mood of the people.
- not limited to one class, field, product, service, etc.; miscellaneous: the general public; general science.
- considering or dealing with overall characteristics, universal aspects, or important elements, especially without considering all
details or specific aspects: general instructions; a general
description; a general resemblance one to another.
- not specific or definite: I could give them only a general idea of what was going on.
Generic
adjective Also, ge·ner·i·cal.
- of, applicable to, or referring to all the members of a genus, class, group, or kind; general.
- of, pertaining to, or noting a genus, especially in biology.
- (of a word) applicable or referring to both men and women: a generic pronoun.
- not protected by trademark registration: “Cola” and “shuttle” are generic terms.
Best Answer
The following extract from The Grammarist may be helpful. Dis- and non in your case would essentially convey the same meaning of someone who doesn't believe in God.